1. Field
Example embodiments of the following description relate to a method of determining an architectural pattern in a multimedia system, and a method and apparatus for authoring an architecture for transforming a single-core based embedded software application to a multi-core based embedded software application.
2. Description of the Related Art
In a hardware system, an affordable processor with multi-core architecture is being launched, and the number of supported cores is increasing. For example, an 8-core server is currently being launched in markets through a quad-core Personal Computer (PC), after a dual-core laptop was released in 2005. However, the phenomenon where the performance of hardware is doubled every 18 months is slowing down. In other words, the limits in improvement of the performance of a system, dependent on hardware only, are being exposed. Multi-core parallelization is considered a problem of software development strategy, rather than of a compiler or an Operating System (OS). Specifically, when software loaded and operated in hardware is developed regardless of parallelism, despite hardware, a compiler, and an OS for supporting even a large number of cores being launched, high quality hardware, a compiler, and an OS may be useless. Accordingly, to maximize the performance of a multi-core based system, there is a desire for a software architecture authoring method for determining software development strategy, and a new framework.
General architecture authoring methods released to date include four methods, for example, a Quality Attribute Workshop (QAW), an Attribute-Driven Design (ADD) method, an Architecture Tradeoff Analysis Method (ATAM), an Active Reviews for Intermediate Designs (ARID), and the like that have been researched and published in the Carnegie Mellon University Software Engineering Institute (CMU SEI) since the early 2000s. The four methods are based on the quality attribute, which needs to be satisfied by software when authoring an architecture of the software. Additionally, the four methods may define steps of a job required to maintain an association between requirements related to each quality attribute and a resultant obtained by authoring the architecture. However, considerable portions of the steps of the four methods overlap each other, and are generally defined regardless of a predetermined domain. Accordingly, the four methods merely provide what job needs to be performed in each step, and do not provide a detailed guideline on how to perform a job.